242 research outputs found
Simulated self-organization of a peer to peer awareness network
A simulation process and tool used to test and evaluate the algorithms necessary to optimally arrange a peer-to-peer distributed awareness system for Software Engineering
A self-organising awareness system for distributed software engineering
Software engineers and other collaborative disciplines rely on informal "out-of-band" communication for ef-
fective coordination of their activities, especially in agile methods. This type of communication is lost when development is distributed, with consequent deleterious effects on engineer effectiveness. In order to effectively support distributed software engineering, a replacement for this informal communication must be found.
Much previous research focussed on either synchronous awareness such as radar views and shared editors, where participants were distributed in space not time, or asynchronous awareness such as change notification, which
did not explicitly support concurrent activities. A unified approach is necessary to support software engineering.
Furthermore, requiring co-location of engineering teams is not possible in today's marketplace where development
is often outsourced, consequently a definite requirement for awareness tools to replace informal communication
exists.
To implement an awareness tool capable of providing awareness of activities distributed both in time (asyn-
chronous awareness) and space (synchronous awareness). The tool will not rely on a centralised reflector; instead
information will be distributed over a peer-to-peer network arranged using a self-organisation algorithm.
Consequently awareness information need not travel more than a few hops from its originating peer, reducing
network load and increasing relevance of information received. Unlike reflector-based CSCW systems, the network
will scale and will not have a single point of failure in the reflector. Furthermore, without the need to setup a
reflector, there is the capability for ad-hoc awareness, using low-complexity peer discovery by local broadcast for
example.
The tool will be integrated with the Eclipse development environment. The files a user is currently editing will
determine the data they are interested in and fuzzy similarity metrics will be used to compare the collections of
each peer in the network in order to drive the self-organisation process. To evaluate the success of self-organisation,
a simulation approach will be used before deploying the algorithms in the wild. To evaluate the effectiveness of
the awareness provision, initial deployment and controlled experiments will be conducted within the Distributed
Software Engineering group at the University of Lincoln and a later version of the tool will be trialled with existing
Eclipse user
WETICE 2004 Evaluating Collaborative Enterprises (ECE) Workshop - Final report
A summary of the fifth Evaluating Collaborative Enterprises (ECE)
workshop which ran on June 14th at University of Modena, Italy. The
overall theme of the workshop this year was evaluation within the
software lifecyle rather than as a separate activity. Each of the
five papers touched on this subject and the subsequent winner of
Best Paper covered it thoroughly.
Concerns about the level of interactivity within the workshop and
WETICE itself prompted a format change to ``paired-paper'' sessions
with plenty of discussion time.
Several outstanding issus were identified during the discussion,
including development of ``evaluation components'' alongside
software components, the need to convince managers of the business
case for evaluation and meta-evaluation of popular techniques with a
view to avoiding studies that select inappropriate techniques or
rely too heavily on one type of technique
Historical awareness support and its evaluation in collaborative software engineering
The types of awareness relevant to collaborative soft-
ware engineering are identified and an additional type,
"historical awareness" is proposed. This new type of
awareness is the knowledge of how software artefacts re-
sulting from collaboration have evolved in the course of
their development.
The types of awareness that different software engineer-
ing environment architectures can support are discussed. A
way to add awareness support to our existing OSCAR sys-
tem, a component of the GENESIS software engineering
platform, is proposed. Finally ways of instrumenting and
evaluating the awareness support offered by the modified
system are outlined
Supporting collaborative grid application development within the escience community
The systemic representation and organisation of software artefacts, e.g. specifications, designs, interfaces, and implementations, resulting from the development of large distributed systems from software components have been addressed by our research within the Practitioner and AMES projects [1,2,3,4]. Without appropriate representations and organisations, large collections of existing software are not amenable to the activities of software reuse and software maintenance, as these activities are likely to be severely hindered by the difficulties of understanding the software applications and their associated components. In both of these projects, static analysis of source code and other development artefacts, where available, and subsequent application of reverse engineering techniques were successfully used to develop a more comprehensive understanding of the software applications under study [5,6]. Later research addressed the maintenance of a component library in the context of component-based software product line development and maintenance [7]. The classic software decompositions, horizontal and vertical, proposed by Goguen [8] influenced all of this research. While they are adequate for static composition, they fail to address the dynamic aspects of composing large distributed software applications from components especially where these include software services. The separation of component co-ordination concerns from component functionality proposed in [9] offers a partial solution
Evaluation of an awareness distribution mechanism: a simulation approach
In distributed software engineering, the role of informal communication is frequently overlooked. Participants simply employ their own ad-hoc methods of informal communication. Consequently such communication is haphazard, irregular, and rarely recorded as part of the project documentation. Thus, a need for tool support to facilitate more systematic informal communication via awareness has been identified. The tool proposed is based on the provision of awareness support that recognises the complete context of the evolution of software artefacts rather than single events.
Peer-to-Peer (P2P) networking has been successfully
employed to develop various distributed software engineering support tools. However, there are scalability problems inherent in naive P2P networks. To this end a semantic overlay network organisation algorithm has been developed and tested in simulation prior to deployment as part of a forthcoming awareness extension to the Eclipse environment.
The simulation verified that the self-organisation algorithm was suitable for arranging a P2P network, but several unexpected behaviours were observed. These included
wandering nodes, starved nodes, and local maxima. Each
of these problems required modification of the original algorithm design to solve or ameliorate them
An open source collaboration infrastructure for Calibre
The study of Free and Open Source (Libre) software and the benefits provided by its processes and products to collaborative software development has been somewhat ad hoc. Each project wishing to use tools and techniques drawn from Libre software conducts its own research, thus duplicating effort, consequently there is a lack of established community practice on which new projects can draw. Long-standing intuitive theories of Libre development lack empirical validation. The long-term goal is to provide a resource to guide the evolution of Libre-software projects, from inception to maturity. The CALIBRE project is a co-ordination action aiming to address these issues through its research, its wider educational goals, and with an open invitation to the community to contribute. To succeed, the CALIBRE project needs an effective technological infrastructure which must support internal and external collaboration, communication and contribution to the project.
The requirements of CALIBRE are similar to those of a Libre software project; this suggests that adopting a SourceForge-style environment which will be incrementally enhanced with further specialised tools as the requirements become better understood will be a sensible strategy
An evaluation framework to drive future evolution of a research prototype
The Open Source Component Artefact Repository (OSCAR) requires
evaluation to confirm its suitability as a development environment
for distributed software engineers. The evaluation will take note of
several factors including usability of OSCAR as a stand-alone system,
scalability and maintainability of the system and novel features not
provided by existing artefact management systems. Additionally, the
evaluation design attempts to address some of the omissions (due to
time constraints) from the industrial partner evaluations.
This evaluation is intended to be a prelude to the evaluation of the
awareness support being added to OSCAR; thus establishing a baseline
to which the effects of awareness support may be compared
Active artefact management for distributed software engineering
We describe a software artefact repository that provides its contents with some awareness of their own creation. "Active" artefacts are distinguished from their passive counterparts by their enriched meta-data model which reflects the work-flow process that created them, the actors responsible, the actions taken to change the artefact, and various other pieces of organisational knowledge. This enriched view of an artefact is intended to support re-use of both software and the expertise gained when creating the software. Unlike other organisational knowledge systems, the meta-data is intrinsically part of the artefact and may be populated automatically from sources including existing data-format specific information, user supplied data and records of communication.
Such a system is of increased importance in the world of
"virtual teams" where transmission of vital organisational
knowledge, at best difficult, is further constrained by the
lack of direct contact between engineers and differing development cultures
Communication and conflict issues in collaborative software research projects
The Open Source Component Artefact Repository (OS-
CAR) was developed under the auspices of the GENESIS
project to store data produced during the software development process. Significant problems were encountered during the course of the project in both the development itself and management of the project. The reasons for and potential solutions to these problems are examined with the intention of developing a set of guidelines to enable participants in other collaborative projects to avoid these pitfalls.
We wish to make it clear that we attach no opprobrium
to any of the participants in the GENESIS project as many of the issues we outline below have solutions only visible with hindsight. Instead, we seek to provide a fair-minded critique of our role and the mistakes we made in a fairly typical two-year EU research project, and to provide a set of recommendations for other similar projects, in order that they can (attempt to) avoid suffering similarly
- …